<!--登录页面-->

<template>
    <div class="login-container">
        <el-form :model="ruleForm" :rules="rules"
                 status-icon
                 ref="ruleForm"
                 label-position="left"
                 label-width="0px"
                 class="demo-ruleForm login-page">
            <h3 class="title">系统登录</h3>
            <el-form-item prop="username">
                <el-input type="text"
                          v-model="ruleForm.username"
                          placeholder="用户名"
                ></el-input>
            </el-form-item>
            <el-form-item prop="password">
                <el-input type="password"
                          v-model="ruleForm.password"
                          placeholder="密码"
                ></el-input>
            </el-form-item>
            <el-form-item>
                <el-radio v-model="type" label="tbAdmin">平台管理员</el-radio>
                <el-radio style="position: relative;left: 10px" v-model="type" label="tbAssetRole">资产管理员</el-radio>
                <el-radio style="position: relative;left: 20px" v-model="type" label="tbIfadmin">渗透测试员</el-radio>
            </el-form-item>
            <el-form-item style="width:100%;">
                <el-button type="primary" style="width:100%;" @click="handleSubmit" :loading="logining">登录</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script>
    export default {
        name: "Login",
        data(){
            return{
                logining: false,
                ruleForm: {
                    username: 'fjh',
                    password: '123'
                },
                type: 'tbAdmin',
                rules: {
                    username: [{required: true, message: '请输入用户名', trigger: 'blur'}],
                    password: [{required: true, message: '请输入密码', trigger: 'blur'}]
                }
            }
        },
        methods: {
            handleSubmit(){
                this.$refs.ruleForm.validate((valid) => {
                    if(valid){
                        this.logining = true
                        let _this = this
                        //平台管理员
                        if(_this.type == 'tbAdmin'){
                            axios.get('http://localhost:8181/tbAdmin/login', {params:_this.ruleForm}).then(function (resp) {
                                _this.logining = false
                                if(resp.data.code == -1){
                                    _this.$alert('用户名不存在', '提示', {
                                        confirmButtonText: '确定'
                                    })
                                }
                                if(resp.data.code == -2){
                                    _this.$alert('密码错误', '提示', {
                                        confirmButtonText: '确定'
                                    })
                                }
                                if(resp.data.code == 0){
                                  _this.$alert('平台管理员登录成功', '提示', {
                                    confirmButtonText: '确定'
                                  })

                                    //展示当前登录用户信息
                                    localStorage.setItem('systemAdmin', JSON.stringify(resp.data.data));
                                  //跳转到SystemAdmin
                                    _this.$router.replace({path: '/SystemAdmin'})
                                }
                            })
                        }

                        //资产管理员
                        if(_this.type == 'tbAssetRole'){
                            axios.get('http://localhost:8181/tbAssetRole/login', {params:_this.ruleForm}).then(function (resp) {
                                _this.logining = false
                                if(resp.data.code == -1){
                                    _this.$alert('用户名不存在', '提示', {
                                        confirmButtonText: '确定'
                                    })
                                }
                                if(resp.data.code == -2){
                                    _this.$alert('密码错误', '提示', {
                                        confirmButtonText: '确定'
                                    })
                                }
                                if(resp.data.code == 0){
                                  _this.$alert('资产管理员登录成功', '提示', {
                                    confirmButtonText: '确定'
                                  })

                                    //展示当前登录用户信息
                                    localStorage.setItem('tbAssetRole', JSON.stringify(resp.data.data));
                                  //跳转到AssetAdmin
                                    _this.$router.replace({path: '/AssetAdmin'})
                                }
                            })
                        }

                      //渗透人员
                      if(_this.type == 'tbIfadmin'){
                        axios.get('http://localhost:8181/tbIfadmin/login', {params:_this.ruleForm}).then(function (resp) {
                          _this.logining = false
                          if(resp.data.code == -1){
                            _this.$alert('用户名不存在', '提示', {
                              confirmButtonText: '确定'
                            })
                          }
                          if(resp.data.code == -2){
                            _this.$alert('密码错误', '提示', {
                              confirmButtonText: '确定'
                            })
                          }
                          if(resp.data.code == 0){


                            //展示当前登录用户信息
                            localStorage.setItem('tbIfadmin', JSON.stringify(resp.data.data));
                            //跳转到IfAdmin
                            _this.$router.replace({path: '/IfAdmin'})
                          }
                        })
                      }
                    }
                })
            }
        }
    };
</script>

<style scoped>
    .login-container {
        width: 100%;
        height: 100%;
    }
    .login-page {
        -webkit-border-radius: 5px;
        border-radius: 5px;
        margin: 180px auto;
        width: 350px;
        padding: 35px 35px 15px;
        background: #fff;
        border: 1px solid #eaeaea;
        box-shadow: 0 0 25px #cac6c6;
    }
    label.el-checkbox.rememberme {
        margin: 0px 0px 15px;
        text-align: left;
    }
</style>